package com.sg.service.base.component;

import com.sg.dto.base.component.req.*;
import com.sg.entity.OmsMessage;

import java.util.List;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
public interface MOmsMessageService {
    /**
     * 2-5-02新增消息
     */
    String addMessage(OmsMessage omsMessage);

    /**
     * 2-5-02修改消息
     */
    boolean updateMessage(OmsMessage omsMessage);

    /**
     * 2-5-02查询消息详情
     */
    OmsMessage queryMessageDetail(QueryMessageDetailReq reqDto);

    /**
     * 2-5-02批量查询消息
     */
    List<OmsMessage> batchQueryMessage(BatchQueryMessageReq reqDto);

    /**
     * 2-5-02删除消息
     */
    boolean deleteMessage(String messageId);

    /**
     * 2-5-02查询消息列表
     */
    List<OmsMessage> queryMessageList(QueryMessageListReq reqDto);

    /**
     * 2-5-02查询推第三方问题列表
     */
    List<OmsMessage> queryPushThirdPartyMessagesList(QueryPushThirdPartyMessagesListReq reqDto);

    /**
     * 2-5-03批量查询消息By归属内容ID列表
     */
    List<OmsMessage> batchQueryMessageByEntityIdListByIds(BatchQueryMessageByEntityIdListByIdsReq reqDto);

    /**
     * 2-5-02批量删消息
     */
    boolean batchDeleteMessage(List<String> reqDto);

    /**
     * 2-5-02查询待处理消息列表
     */
    List<OmsMessage> queryPendingMessagesList(QueryPendingMessagesListReq reqDto);

    /**
     * 2-5-02查询通道内消息列表
     */
    List<OmsMessage> queryWithinChannelMsgList(QueryWithinChannelMsgListReq reqDto);

    /**
     * 2-5-02执行归属内容批量查消息
     */
    List<OmsMessage> implementBelongContBatchQueryMsg(ImplementBelongContBatchQueryMsgReq reqDto);

    /**
     * 2-5-02-批量改消息
     */
    boolean batchUpdateMessage(List<OmsMessage> omsMessage);

    /**
     * 2-5-02执行主键批量查消息
     */
    List<OmsMessage> implementPrimaryKeyBatchQueryMsg(ImplementPrimaryKeyBatchQueryMsgReq reqDto);

    /**
     * 2-5-02执行引用消息批量查消息
     */
    List<OmsMessage> implementQuoteMsgBatchQuerylMessage(ImplementQuoteMsgBatchQuerylMessageReq reqDto);
//
}

